package com.ruoyi.orderadmin.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.useradmin.domain.UaUser;
import com.ruoyi.campadmin.domain.CaAmenity;
import com.ruoyi.campadmin.domain.CaItemRental;
import com.ruoyi.campadmin.domain.CaItemSale;
import com.ruoyi.campadmin.domain.CaVenueRental;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import lombok.Data;
import java.util.Date;

/**
 * @Description  
 * @author kemonvvv
 * @Date 2023-06-07 
 */
@EqualsAndHashCode(callSuper = true)
@Data
@TableName("oa_shop_detail")
public class OaShopDetail  extends BaseEntity implements Serializable {


	/**
	*购物订单详情表
	*/
	@TableId(type = IdType.AUTO)
	private Long id;

	/**
	*用户表编号
	*/
	private Long uaUserId;

	@TableField(exist = false)
	private UaUser uaUser;

	/**
	*购物订单详情表类型[1购物车/2订单]
	*/
	private String oaShopDetailType;

   	@Excel(name="购物订单详情表类型")
    @TableField(exist = false)
    private String oaShopDetailTypeDict;

	/**
	*类型对于的外键编号
	*/
	private Long oaShopDetailTypeId;
    /**
     *1购物车
     */
    @TableField(exist = false)
    private OaShop oaShop;
    /**
     *2订单
     */
    @TableField(exist = false)
    private OaOrder oaOrder;


	/**
	*开始时间
	*/
   	@Excel(name="开始时间")
	private Date startTime;

	/**
	*结束时间
	*/
   	@Excel(name="结束时间")
	private Date overTime;

	/**
	*购物类型[1场地租赁/2单品租赁/3单品售卖/4设施]
	*/
	private String shopType;

   	@Excel(name="购物类型")
    @TableField(exist = false)
    private String shopTypeDict;

	/**
	*被购物的外键表编号
	*/
	private Long shopTypeId;

    /**
     *1场地租赁
     */
    @TableField(exist = false)
    private CaVenueRental caVenueRental;
    /**
     *2单品租赁
     */
    @TableField(exist = false)
    private CaItemRental caItemRental;
    /**
     *3单品售卖
     */
    @TableField(exist = false)
    private CaItemSale caItemSale;
    /**
     *4设施
     */
    @TableField(exist = false)
    private CaAmenity caAmenity;

	/**
	*数量/使用次数
	*/
   	@Excel(name="数量/使用次数")
	private String purchasesNum;

	/**
	*支付状态[1未支付/2超时未支付/3已支付]
	*/
	private String payState;

   	@Excel(name="支付状态")
    @TableField(exist = false)
    private String payStateDict;

	/**
	*订单状态[1进行中/2已完成/3退单]
	*/
	private String orderState;

   	@Excel(name="订单状态")
    @TableField(exist = false)
    private String orderStateDict;

}
